With-Loop Scalarization - Merging Nested Array Operations

نویسندگان

  • Clemens Grelck
  • Sven-Bodo Scholz
  • Kai Trojahner
چکیده

Abstract. Construction of complex array operations by composition of more basic ones allows for abstract and concise specifications of algorithms. Unfortunately, näıve compilation of such specifications leads to creation of many temporary arrays at runtime and, consequently, to poor performance characteristics. This paper elaborates on a new compiler optimization, named withloop-scalarization, which aims at eliminating temporary arrays in the context of nested array operations. It is based on with-loops, a versatile array comprehension construct used by the functional array language SaC both for specification as well as for internal representation of array operations. The impact of with-loop-scalarization on the runtime performance of compiled SaC code is demonstrated by several experiments involving support for arithmetic on arrays of complex numbers and the application kernel FT from the NAS benchmark suite.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Scalarizing Fortran 90 Array Syntax

Array syntax, existed in many languages, adds expressive power by allowing operations on and assignments to the array sections. When compiling to a uniprocessor machine, the array statement must be converted into a loop that maintains the correct semantics, by a process called scalarization. Scalarization presents a significant technical problem because an array assignment needs to be implement...

متن کامل

Loop Fusion in High Performance Fortran Loop Fusion in High Performance Fortran

In this paper we investigate a unique problem associated with fusing loops within a High Performance Fortran (HPF) program. In particular, we discuss the issue of performing loop fusion in an HPF compiler when compiling Fortran90 array assignment statements for execution on a distributed-memory machine. During compilation of an HPF program, Fortran90 array assignment statements must be scalariz...

متن کامل

Array Language Support for Wavefront and Pipelined Computations

Array languages such as Fortran 90, High Performance Fortran and ZPL are convenient vehicles for expressing data parallel computation. Unfortunately, array language semantics prohibit the natural expression of wavefront and pipelined computations, characterized by a sequential propagation of computed values across one or more dimensions of the problem space. As a result, programmers scalarize (...

متن کامل

Advanced Scalarization of Array Syntax

One task of all Fortran 90 compilers is to scalarize the array syntax statements of a program into equivalent sequential code. Most compilers require multiple passes over the program source to ensure correctness of this translation, since their analysis algorithms only work on the scalarized form. These same compilers then make additional subsequent passes to perform loop optimizations such as ...

متن کامل

Design of a Single-Layer Circuit Analog Absorber Using Double-Circular-Loop Array via the Equivalent Circuit Model

A broadband Circuit Analogue (CA) absorber using double-circular-loop array is investigated in this paper. A simple equivalent circuit model is presented to accurately analyze this CA absorber. The circuit simulation of the proposed model agrees well with full-wave simulations. Optimization based the equivalent circuit model, is applied to design a single-layer circuit analogue absorber using d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003